1. Написать программу на стековой УМ, реализующей присваивание res:=x*(y+z) не более, чем за 6 команд.
Коды команд:
ВСТЕК     00
ИЗСТЕКА   10
СЛОЖЕНИЕ  01
УМНОЖЕНИЕ 03
Адреса переменных: res=0200, x=0202, y=0204, z=0206.

2. Как ЭВМ отличает знаковое число от беззнакового?

3. Конвейер. Операции: 1) чтение команды
                       2) дешифровка
                       3) вычисление исполнительных адресов
                       4) чтение операндов
                       5) Выполнение команды
                       6) Запись рез-та
Каждый шаг - за 2 ед. времени. Посчитать время выполнения след. команд, если изначально конв. пуст.
                       SUB Y, 3
                       ADD Y, AX
                       AND X[SI], AX
4. MOV ax, 140
   SUB ax, -50
   
   Вычислить:
   DH=        
   CF=
   OF=
   SF=

5. Загрузить в двойное слово с абсолютным адресом 3ABFCh значение 3ABFCh не более, чем за 5 команд.

6. Описать дальнюю процедуру one, удовлетворяющую всем стандартным соглашениям о связях, которая присваивает значение 1
далbней переменной типа dword, адрес которой передается ей в виде seg:ofs (далеко от текста, зато понятно условие).



7. Написать макроопределение EvenDiv MACRO X, где X - WORD либо DWORD, которое выписывает команды ассемблера, эквивалентные
следующему оператору Pascal:
   if not odd(x) then x := x div 2

8. X DB ?
   Что из нижеперечисленного неверно?
   1. mov di,[p+2]
   2. shr cx,cl
   3. JMP word ptr X
   4. DIV [di]
   5. add bx,x
   6. JMP X[bx]

9. Напишите преимущества и недостатки счета программы при статическом связывании модулей по сравнению с динамическим.

10. Начало нек. модуля на ASM:

    include io.asm
    extrn y:word
    ...

    Написать фрагмент сегмента кода программы, в котором переменной y присваивается остаток от деления её на 11.


